package com.gitee.taotaojs.util.excel;

/**
 * @author TaoTaojs
 * @author TaoTaojs
 * @date 2019/4/3 9:41
 * <p>Description</p>
 * excel头对象抽象类
 * 关联类:
 */
public abstract class AbstractExcelHead {

    /** Excel列名 */
    private Object excelName;

    /** 表格名称 */
    private Object excelNameEnable;

    public void setExcelNameEnabl(Object excelName){
        this.excelNameEnable = excelName;
    }

    public Object getExcelNameEnable(){
        return excelNameEnable;
    }

    public void setExcelName(Object excelName) {
        this.excelName = excelName;
    }

    public Object getExcelName(){
        return excelName;
    }

    /**
     * 获取对象属性名称
     * @return 对象属性名称
     */
    abstract String getEntityName();

    /**
     * 设置对象属性名称
     * @param entityName 对象属性名
     */
    abstract void setEntityName(String entityName);

    /**
     * 判断是否不能为空
     * @return 返回是否可为空
     */
    abstract boolean isRequired();

    /**
     * 设置是否不能为空
     * @param required 是否可为空
     */
    abstract void setRequired(boolean required);

    /**
     * 判断是否为数据列
     * @return 返回是否为数据列
     */
    abstract boolean isData();

    /**
     * 设置是否为数据列
     * @param data 是否为数据列
     */
    abstract void setData(boolean data);

    /**
     * 是否为字符串
     * @return 返回是否为字符串
     */
    abstract boolean isString();

    /**
     * 设置是否为字符串
     * @param string 是否为字符串
     */
    abstract void setString(boolean string);

    /**
     * 设置是否为默认的映射关系
     * @param def 是否为默认映射关系
     */
    abstract void setDef(boolean def);

    /**
     * 判断是否为默认的映射关系
     * @return 返回是否为默认映射关系
     */
    abstract boolean isDef();

}
